import Vue from 'vue'
import App from './App.vue'
// 导入路由
import router from './router/index.js'
import axios from 'axios'
// 导入 element-ui 组件
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

// 导入 loading
import { Loading } from 'element-ui'

Vue.config.productionTip = false
// 全局配置 axios
// axios.defaults.baseURL = 'https://www.escook.cn'
axios.defaults.baseURL = 'http://localhost:3000'
Vue.prototype.$http = axios

let loadingInstance = null
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  loadingInstance = Loading.service()
  return config
})

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  loadingInstance.close()
  return response
})

Vue.use(ElementUI)

// 全局过滤器
Vue.filter('dateFormat', dtStr => {
  const dt = new Date(dtStr)
  const y = dt.getFullYear()
  const m = padZero(dt.getMonth() + 1)
  const d = padZero(dt.getDate())

  const hh = padZero(dt.getHours())
  const mm = padZero(dt.getMinutes())
  const ss = padZero(dt.getSeconds())
  return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})
// 小于10补0
function padZero(n) {
  return n > 9 ? n : '0' + n
}

const app = new Vue({
  router,
  render: h => h(App)
})

app.$mount('#app')
